class JuradoTrabajosController < ApplicationController
  layout "menuprincipal"
#  before_filter :login_required
  protect_from_forgery :only => [:create, :update, :destroy] 
  # GET /jurado_trabajos
  # GET /jurado_trabajos.xml
  def index
     if (cookies[:tipo]=='J')
      @profesor=Profesor.find(:first, :conditions => ["persona_id = ?", cookies[:persona_id]])
      #@jurado_trabajo=JuradoTrabajo.find(:all, :conditions => ["profesor_id = ?", @profesor.id])
      @jurado_trabajo=JuradoTrabajo.find_by_sql("select trabajo_id as id, trabajo_id from jurado_trabajos where profesor_id =  #{@profesor.id}")
    else 
      @jurado_trabajo=JuradoTrabajo.find_by_sql("select distinct(trabajo_id) as id, trabajo_id from jurado_trabajos")
    end  
  
    respond_to do |format|id
      format.html # index.html.erb
 
      format.xml  { render :xml => @jurado_trabajo }
    end
  end

  # GET /jurado_trabajos/1
  # GET /jurado_trabajos/1.xml
  def show
    #@jurado_trabajo = JuradoTrabajo.find(:first, :conditions => ["trabajo_id = ?",  params[:id]])
    @jurado_trabajo = JuradoTrabajo.find(params[:id])
    @jurados=JuradoTrabajo.find(:all, :conditions => ["trabajo_id = ?", @jurado_trabajo.trabajo_id])
           
    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @jurado_trabajo }
    end
  end

  # GET /jurado_trabajos/new
  # GET /jurado_trabajos/new.xml
  def new
    @jurado_trabajo = JuradoTrabajo.new
    @profesores = Profesor.find(:all)
    @juradotrabajonn= JuradoTrabajo.new
    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @jurado_trabajo }
    end
  end

  # GET /jurado_trabajos/1/edit
  def edit
     @jurado_trabajo = JuradoTrabajo.find(:first, :conditions => ["trabajo_id = ?",  params[:id]])
     #@jurado_trabajo = JuradoTrabajo.find(params[:id])        
     @profesores = Profesor.find(:all) 
     @idtrabajo = params[:id]
     @juradotrabajonn=JuradoTrabajo.find(:all, :conditions => ["trabajo_id = ?", @idtrabajo])
     
  end

  # POST /jurado_trabajos
  # POST /jurado_trabajos.xml
  def create
    @jurado_trabajo = JuradoTrabajo.new(params[:jurado_trabajo])
    lintut = params[:profesors]
    if lintut
      lintut.each do |order_id, do_it|
      if do_it == "si"
          @idmiprofesor = order_id;
        #  @jurado=Profesor.find_by_sql("select id from jurado_trabajos  where trabajo_id =  #{@jurado_trabajo.trabajo_id} and profesor_id =  @idmiprofesor")
          @jurado = JuradoTrabajo.find(:first, :conditions => "trabajo_id = #{@jurado_trabajo.trabajo_id} and profesor_id =  #{@idmiprofesor}")
  
          if (@jurado)
            @jurado.status="P"
            @jurado.save
          else                                    
            @juradotrabajos = JuradoTrabajo.new
            @juradotrabajos.profesor_id=order_id;
            @juradotrabajos.trabajo_id=@jurado_trabajo.trabajo_id
            @juradotrabajos.status="P"
            @juradotrabajos.save
          end   
      end
      end
    end  
      
    
    respond_to do |format|

        flash[:notice] = 'Jurado Asignado satisfactoriamente'
        format.html { redirect_to(@jurado_trabajo) }
        format.xml  { render :xml => @jurado_trabajo, :status => :created, :location => @jurado_trabajo }
    end
  end

  # PUT /jurado_trabajos/1
  # PUT /jurado_trabajos/1.xml
  def update
   #@jurado_trabajo = JuradoTrabajo.find(:first, :conditions => ["trabajo_id = ?",  params[:id]]) 
   @jurado_trabajo = JuradoTrabajo.find(params[:id])        
   if (cookies[:tipo]=='J')
     @miprofesor=Profesor.find(:first, :conditions => ["persona_id = ?", cookies[:persona_id]])     
     @juradostatus = JuradoTrabajo.find(:first, :conditions => "trabajo_id = #{@jurado_trabajo.trabajo_id} and profesor_id =  #{@miprofesor.id}")
     @status=params[:jurado_trabajo]
     @juradostatus.status=@status["status"]
     @juradostatus.save
   else    
    #JuradoTrabajo.delete_all(["trabajo_id = ?", @jurado_trabajo.trabajo_id]) 
    lintut = params[:profesors]
    if lintut
      lintut.each do |order_id, do_it|
      if do_it == "si"
          @idmiprofesor = order_id;
        #  @jurado=Profesor.find_by_sql("select id from jurado_trabajos  where trabajo_id =  #{@jurado_trabajo.trabajo_id} and profesor_id =  @idmiprofesor")
          @jurado = JuradoTrabajo.find(:first, :conditions => "trabajo_id = #{@jurado_trabajo.trabajo_id} and profesor_id =  #{@idmiprofesor}")
  
          if (@jurado)
            @jurado.status="P"
            @jurado.save
          else                                    
            @juradotrabajos = JuradoTrabajo.new
            @juradotrabajos.profesor_id=order_id;
            @juradotrabajos.trabajo_id=@jurado_trabajo.trabajo_id
            @juradotrabajos.status="P"
            @juradotrabajos.save
          end   
      end
      end
     end  
    end #if (cookies[:tipo]=='J')

    respond_to do |format|
      
        flash[:notice] = 'Jurado asignado satisfactoriamente.'
        format.html { redirect_to(@jurado_trabajo) }
        format.xml  { head :ok }
      
    end
  end

  # DELETE /jurado_trabajos/1
  # DELETE /jurado_trabajos/1.xml
  def destroy
    @jurado_trabajo = JuradoTrabajo.find(params[:id])
    @jurado_trabajo.destroy

    respond_to do |format|
      format.html { redirect_to(jurado_trabajos_url) }
      format.xml  { head :ok }
    end
  end
end

